package com.tedu.api.ee;

import jdk.internal.org.objectweb.asm.tree.MultiANewArrayInsnNode;
import org.junit.jupiter.api.Test;

import java.io.BufferedOutputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.nio.file.FileSystemAlreadyExistsException;

/**
 * Exception异常--检查异常--处理手段：抛出
 * throw与throws【异常关键字】
 * throw关键字：
 * 特点：主要用于方法体内，如果throw执行，一定抛出某种异常，
 *      且只能抛出一个异常对象--RuntimeException【主动抛出异常】
 * 语法：方法体内-->throw new RuntimeException("自定义异常“)
 *
 * throws关键字：
 * 特点：在主方法/方法后抛出，跟异常对象名字，可以抛出多个对象，如果是多个对象，
 *      用逗号分隔，表示异常抛出方法或者主方法之外，并未处理【被动抛出异常】
 * 语法：throws 异常名，异常名【直接抛出Exception】{}
 */
public class Person {
    private int age; //年龄 -- 私有属性

    public int getAge() {
        return age;
    }
    //创建Person对象--设置Person对象年龄---"主动抛出异常 -1 121”
    public void setAge(int age) {
        if(age<0||age>120){ //人 年龄：0-120岁  不合理
            throw new RuntimeException("年龄不合规异常");
        }
        this.age = age;
    }
@Test
    public void test01() throws FileNotFoundException {
    FileOutputStream fis = new FileOutputStream("");
    BufferedOutputStream bos = new BufferedOutputStream(fis, 10);
}

    public static void main(String[] args) throws FileNotFoundException {
        //throws关键字 被动抛出异常
        FileOutputStream fis = new FileOutputStream("");
        BufferedOutputStream bos = new BufferedOutputStream(fis, 10);
        Person p=new Person();
        //设定年龄：合理 0-120     不合理  抛出异常
        p.setAge(121);
        System.out.println("我的年龄是："+p.getAge()
        );
      }
    }
